package com.sg.dto.integration.app;

import com.sg.common.dto.BaseDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotNull;
import java.io.Serializable;

/**
 * @desc AddPlanDataComReqDto
 * @使用场景
 */
@Data
public class AddPlanDataComReqDto extends BaseDto implements Serializable {

    /**
     * 规划编号
     */
    @NotNull(message = "规划编号不能为空")
    @ApiModelProperty("规划编号")
    private String planningNumber;

    /**
     * 规划名称
     */
    @NotNull(message = "规划名称不能为空")
    @ApiModelProperty("规划名称")
    private String planningName;

    /**
     * 规划简称
     */
    @NotNull(message = "规划简称不能为空")
    @ApiModelProperty("规划简称")
    private String planningShortName;

    /**
     * 超文本内容
     */
    @NotNull(message = "超文本内容不能为空")
    @ApiModelProperty("超文本内容")
    private String hypertextContent;

    /**
     * 是否总规划 TRUE:是 FALSE:否
     */
    @NotNull(message = "是否总规划不能为空")
    @ApiModelProperty("是否总规划")
    private String isMainplan;

    /**
     * OKR类型 OKR_FREE:不含OKR型 PURE_OKR:纯OKR型 MIXED:混合型
     */
    @NotNull(message = "OKR类型不能为空")
    @ApiModelProperty("OKR类型")
    private String okrType;

    /**
     * 规划类型 GENERAL_PLANNING:常规规划 THEMATIC_PLANNING:专题规划
     */
    @NotNull(message = "规划类型不能为空")
    @ApiModelProperty("规划类型")
    private String planningType;

    /**
     * 规划方案类别 MASTER_PLAN:总规划 SUB_PLAN:分规划 LITTLE_PLAN:子规划
     */
    @NotNull(message = "规划方案类别不能为空")
    @ApiModelProperty("规划方案类别")
    private String planSchemeClass;

    /**
     * 被评对象目标周期ID
     */
    @NotNull(message = "被评对象目标周期ID不能为空")
    @ApiModelProperty("被评对象目标周期ID")
    private String evaObjTargetCycleId;

    /**
     * 关联目标分类ID
     */
    @ApiModelProperty("关联目标分类ID")
    private String targetCategoryId;

    /**
     * 冗余评价模板ID
     */
    @NotNull(message = "冗余评价模板ID不能为空")
    @ApiModelProperty("冗余评价模板ID")
    private String evaluationTemplateId;

    /**
     * 批次标识
     */
    @NotNull(message = "批次标识不能为空")
    @ApiModelProperty("批次标识")
    private String batchCode;

    /**
     * 牵头部门ID
     */
    @ApiModelProperty("牵头部门ID")
    private String deptId;

}
